
compiler_plugin "FS.Plugins.Ext.Compare"
{
    desc            =   "Allows representation of compare operators such as '<' and '>' using words 'more than' and 'less than'";
    examples        =   [ "if age is below 18 then print 'can not vote'", "if temp is more than 85 then print 'its hot'" ]; 
    type            =   "token";
    precedence      =   1;
    start_tokens    =   [ "less", "before", "below", "more", "after", "above", "is", "equals", "not", "equal" ];
    tokens          =   [  
                            [ "less than"              ,    "<"     ], 
                            [ "before"                 ,    "<"     ],
                            [ "below"                  ,    "<"     ],
                            [ "is below"               ,    "<"     ],
                            [ "is before"              ,    "<"     ],
                            [ "is less than"           ,    "<"     ],
                            [ "more than"              ,    ">"     ],
                            [ "after"                  ,    ">"     ],
                            [ "above"                  ,    ">"     ],
                            [ "is after"               ,    ">"     ],
                            [ "is above"               ,    ">"     ],
                            [ "is more than"           ,    ">"     ],
                            [ "less than equal"        ,    "<="    ],
                            [ "less than equal to"     ,    "<="    ],
                            [ "is less than equal to"  ,    "<="    ],
                            [ "more than equal"        ,    ">="    ],
                            [ "more than equal to"     ,    ">="    ],
                            [ "is more than equal to"  ,    ">="    ],
                            [ "is"                     ,    "=="    ],
                            [ "is equal"               ,    "=="    ],
                            [ "is equal to"            ,    "=="    ],
                            [ "equals"                 ,    "=="    ],
                            [ "equal to"               ,    "=="    ],
                            [ "not"                    ,    "!="    ],
                            [ "not equal"              ,    "!="    ],
                            [ "not equal to"           ,    "!="    ],
                            [ "is not"                 ,    "!="    ],
                            [ "is not equal to"        ,    "!="    ]
                        ];
}